visibility-decoration sweep completed. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114685 91177308-0d34-0410-b5e6-96231b3b80d8 
diff --git a/include/tuple b/include/tuple index 492b254..5ec0f81 100644 --- a/include/tuple +++ b/include/tuple 
@@ -122,13 +122,13 @@  // tuple_size    template <class ..._Tp> -class tuple_size<tuple<_Tp...>> +class _LIBCPP_VISIBLE tuple_size<tuple<_Tp...>>  : public integral_constant<size_t, sizeof...(_Tp)>  {  };    template <class ..._Tp> -class tuple_size<const tuple<_Tp...>> +class _LIBCPP_VISIBLE tuple_size<const tuple<_Tp...>>  : public integral_constant<size_t, sizeof...(_Tp)>  {  }; @@ -136,14 +136,14 @@  // tuple_element    template <size_t _Ip, class ..._Tp> -class tuple_element<_Ip, tuple<_Tp...>> +class _LIBCPP_VISIBLE tuple_element<_Ip, tuple<_Tp...>>  {  public:  typedef typename tuple_element<_Ip, __tuple_types<_Tp...>>::type type;  };    template <size_t _Ip, class ..._Tp> -class tuple_element<_Ip, const tuple<_Tp...>> +class _LIBCPP_VISIBLE tuple_element<_Ip, const tuple<_Tp...>>  {  public:  typedef const typename tuple_element<_Ip, __tuple_types<_Tp...>>::type type; @@ -155,7 +155,7 @@  class __tuple_leaf;    template <size_t _Ip, class _Hp, bool _Ep> -inline +inline _LIBCPP_INLINE_VISIBILITY  void swap(__tuple_leaf<_Ip, _Hp, _Ep>& __x, __tuple_leaf<_Ip, _Hp, _Ep>& __y)  {  swap(__x.get(), __y.get()); @@ -341,7 +341,9 @@  _LIBCPP_INLINE_VISIBILITY const _Hp& get() const {return static_cast<const _Hp&>(*this);}  };   -template <class ..._Tp> void __swallow(_Tp&&...) {} +template <class ..._Tp> +_LIBCPP_INLINE_VISIBILITY +void __swallow(_Tp&&...) {}    // __tuple_impl   @@ -353,6 +355,7 @@  {  template <size_t ..._Uf, class ..._Tf,  size_t ..._Ul, class ..._Tl, class ..._Up> + _LIBCPP_INLINE_VISIBILITY  explicit  __tuple_impl(__tuple_indices<_Uf...>, __tuple_types<_Tf...>,  __tuple_indices<_Ul...>, __tuple_types<_Tl...>, @@ -363,6 +366,7 @@    template <class _Alloc, size_t ..._Uf, class ..._Tf,  size_t ..._Ul, class ..._Tl, class ..._Up> + _LIBCPP_INLINE_VISIBILITY  explicit  __tuple_impl(allocator_arg_t, const _Alloc& __a,  __tuple_indices<_Uf...>, __tuple_types<_Tf...>, @@ -379,6 +383,7 @@  __tuple_convertible<_Tuple, tuple<_Tp...>>::value  >::type  > + _LIBCPP_INLINE_VISIBILITY  __tuple_impl(_Tuple&& __t)  : __tuple_leaf<_Indx, _Tp>(_STD::forward<typename tuple_element<_Indx,  typename __make_tuple_types<_Tuple>::type>::type>(_STD::get<_Indx>(__t)))... @@ -390,6 +395,7 @@  __tuple_convertible<_Tuple, tuple<_Tp...>>::value  >::type  > + _LIBCPP_INLINE_VISIBILITY  __tuple_impl(allocator_arg_t, const _Alloc& __a, _Tuple&& __t)  : __tuple_leaf<_Indx, _Tp>(__uses_alloc_ctor<_Tp, _Alloc, typename tuple_element<_Indx,  typename __make_tuple_types<_Tuple>::type>::type>(), __a, @@ -398,6 +404,7 @@  {}    template <class _Tuple> + _LIBCPP_INLINE_VISIBILITY  typename enable_if  <  __tuple_assignable<_Tuple, tuple<_Tp...>>::value, @@ -410,6 +417,7 @@  return *this;  }   + _LIBCPP_INLINE_VISIBILITY  void swap(__tuple_impl& __t)  {  __swallow(__tuple_leaf<_Indx, _Tp>::swap(static_cast<__tuple_leaf<_Indx, _Tp>&>(__t))...); @@ -417,7 +425,7 @@  };    template <class ..._Tp> -class tuple +class _LIBCPP_VISIBLE tuple  {  typedef __tuple_impl<typename __make_tuple_indices<sizeof...(_Tp)>::type, _Tp...> base;   @@ -429,6 +437,7 @@  const typename tuple_element<_Jp, tuple<_Up...>>::type& get(const tuple<_Up...>&);  public:   + _LIBCPP_INLINE_VISIBILITY  explicit tuple(const _Tp& ... __t)  : base_(typename __make_tuple_indices<sizeof...(_Tp)>::type(),  typename __make_tuple_types<tuple, sizeof...(_Tp)>::type(), @@ -438,6 +447,7 @@  ) {}    template <class _Alloc> + _LIBCPP_INLINE_VISIBILITY  tuple(allocator_arg_t, const _Alloc& __a, const _Tp& ... __t)  : base_(allocator_arg_t(), __a,  typename __make_tuple_indices<sizeof...(_Tp)>::type(), @@ -461,6 +471,7 @@  >::value  >::type  > + _LIBCPP_INLINE_VISIBILITY  explicit  tuple(_Up&&... __u)  : base_(typename __make_tuple_indices<sizeof...(_Up)>::type(), @@ -483,6 +494,7 @@  >::value  >::type  > + _LIBCPP_INLINE_VISIBILITY  tuple(allocator_arg_t, const _Alloc& __a, _Up&&... __u)  : base_(allocator_arg_t(), __a,  typename __make_tuple_indices<sizeof...(_Up)>::type(), @@ -497,6 +509,7 @@  __tuple_convertible<_Tuple, tuple>::value  >::type  > + _LIBCPP_INLINE_VISIBILITY  tuple(_Tuple&& __t)  : base_(_STD::forward<_Tuple>(__t)) {}   @@ -506,6 +519,7 @@  __tuple_convertible<_Tuple, tuple>::value  >::type  > + _LIBCPP_INLINE_VISIBILITY  tuple(allocator_arg_t, const _Alloc& __a, _Tuple&& __t)  : base_(allocator_arg_t(), __a, _STD::forward<_Tuple>(__t)) {}   @@ -515,6 +529,7 @@  __tuple_assignable<_Tuple, tuple>::value  >::type  > + _LIBCPP_INLINE_VISIBILITY  tuple&  operator=(_Tuple&& __t)  { @@ -522,22 +537,29 @@  return *this;  }   + _LIBCPP_INLINE_VISIBILITY  void swap(tuple& __t) {base_.swap(__t.base_);}  };    template <> -class tuple<> +class _LIBCPP_VISIBLE tuple<>  {  public: + _LIBCPP_INLINE_VISIBILITY  tuple() {}  template <class _Alloc> + _LIBCPP_INLINE_VISIBILITY  tuple(allocator_arg_t, const _Alloc&) {}  template <class _Alloc> + _LIBCPP_INLINE_VISIBILITY  tuple(allocator_arg_t, const _Alloc&, const tuple&) {}  template <class _U> + _LIBCPP_INLINE_VISIBILITY  tuple(array<_U, 0>) {}  template <class _Alloc, class _U> + _LIBCPP_INLINE_VISIBILITY  tuple(allocator_arg_t, const _Alloc&, array<_U, 0>) {} + _LIBCPP_INLINE_VISIBILITY  void swap(tuple&) {}  };   @@ -549,7 +571,7 @@  // get    template <size_t _Ip, class ..._Tp> -inline +inline _LIBCPP_INLINE_VISIBILITY  typename tuple_element<_Ip, tuple<_Tp...>>::type&  get(tuple<_Tp...>& __t)  { @@ -558,7 +580,7 @@  }    template <size_t _Ip, class ..._Tp> -inline +inline _LIBCPP_INLINE_VISIBILITY  const typename tuple_element<_Ip, tuple<_Tp...>>::type&  get(const tuple<_Tp...>& __t)  { @@ -569,7 +591,7 @@  // tie    template <class ..._Tp> -inline +inline _LIBCPP_INLINE_VISIBILITY  tuple<_Tp&...>  tie(_Tp&... __t)  { @@ -579,10 +601,13 @@  template <class _Up>  struct __ignore_t  { + _LIBCPP_INLINE_VISIBILITY  __ignore_t() {}  template <class _Tp> + _LIBCPP_INLINE_VISIBILITY  __ignore_t(_Tp&&) {}  template <class _Tp> + _LIBCPP_INLINE_VISIBILITY  const __ignore_t& operator=(_Tp&&) const {return *this;}  };   @@ -609,7 +634,7 @@  };    template <class... _Tp> -inline +inline _LIBCPP_INLINE_VISIBILITY  tuple<typename __make_tuple_return<_Tp>::type...>  make_tuple(_Tp&&... __t)  { @@ -617,7 +642,7 @@  }    template <class... _Tp> -inline +inline _LIBCPP_INLINE_VISIBILITY  tuple<_Tp&&...>  forward_as_tuple(_Tp&&... __t)  { @@ -628,6 +653,7 @@  struct __tuple_equal  {  template <class _Tp, class _Up> + _LIBCPP_INLINE_VISIBILITY  bool operator()(const _Tp& __x, const _Up& __y)  {  return __tuple_equal<_I - 1>()(__x, __y) && get<_I-1>(__x) == get<_I-1>(__y); @@ -638,6 +664,7 @@  struct __tuple_equal<0>  {  template <class _Tp, class _Up> + _LIBCPP_INLINE_VISIBILITY  bool operator()(const _Tp&, const _Up&)  {  return true; @@ -645,7 +672,7 @@  };    template <class ..._Tp, class ..._Up> -inline +inline _LIBCPP_INLINE_VISIBILITY  bool  operator==(const tuple<_Tp...>& __x, const tuple<_Up...>& __y)  { @@ -653,7 +680,7 @@  }    template <class ..._Tp, class ..._Up> -inline +inline _LIBCPP_INLINE_VISIBILITY  bool  operator!=(const tuple<_Tp...>& __x, const tuple<_Up...>& __y)  { @@ -664,6 +691,7 @@  struct __tuple_less  {  template <class _Tp, class _Up> + _LIBCPP_INLINE_VISIBILITY  bool operator()(const _Tp& __x, const _Up& __y)  {  return __tuple_less<_I-1>()(__x, __y) || @@ -675,6 +703,7 @@  struct __tuple_less<0>  {  template <class _Tp, class _Up> + _LIBCPP_INLINE_VISIBILITY  bool operator()(const _Tp&, const _Up&)  {  return false; @@ -682,7 +711,7 @@  };    template <class ..._Tp, class ..._Up> -inline +inline _LIBCPP_INLINE_VISIBILITY  bool  operator<(const tuple<_Tp...>& __x, const tuple<_Up...>& __y)  { @@ -690,7 +719,7 @@  }    template <class ..._Tp, class ..._Up> -inline +inline _LIBCPP_INLINE_VISIBILITY  bool  operator>(const tuple<_Tp...>& __x, const tuple<_Up...>& __y)  { @@ -698,7 +727,7 @@  }    template <class ..._Tp, class ..._Up> -inline +inline _LIBCPP_INLINE_VISIBILITY  bool  operator>=(const tuple<_Tp...>& __x, const tuple<_Up...>& __y)  { @@ -706,7 +735,7 @@  }    template <class ..._Tp, class ..._Up> -inline +inline _LIBCPP_INLINE_VISIBILITY  bool  operator<=(const tuple<_Tp...>& __x, const tuple<_Up...>& __y)  { @@ -716,7 +745,7 @@  // tuple_cat    template <class... _Tp, size_t ..._I1, class... _Up, size_t ..._I2> -inline +inline _LIBCPP_INLINE_VISIBILITY  tuple<_Tp..., _Up...>  __tuple_cat(const tuple<_Tp...>& __x, __tuple_indices<_I1...>, const tuple<_Up...>& __y, __tuple_indices<_I2...>)  { @@ -724,7 +753,7 @@  }    template <class... _Tp, class... _Up> -inline +inline _LIBCPP_INLINE_VISIBILITY  tuple<_Tp..., _Up...>  tuple_cat(const tuple<_Tp...>& __x, const tuple<_Up...>& __y)  { @@ -733,7 +762,7 @@  }    template <class... _Tp, size_t ..._I1, class... _Up, size_t ..._I2> -inline +inline _LIBCPP_INLINE_VISIBILITY  tuple<_Tp..., _Up...>  __tuple_cat(tuple<_Tp...>&& __x, __tuple_indices<_I1...>, const tuple<_Up...>& __y, __tuple_indices<_I2...>)  { @@ -741,7 +770,7 @@  }    template <class... _Tp, class... _Up> -inline +inline _LIBCPP_INLINE_VISIBILITY  tuple<_Tp..., _Up...>  tuple_cat(tuple<_Tp...>&& __x, const tuple<_Up...>& __y)  { @@ -750,7 +779,7 @@  }    template <class... _Tp, size_t ..._I1, class... _Up, size_t ..._I2> -inline +inline _LIBCPP_INLINE_VISIBILITY  tuple<_Tp..., _Up...>  __tuple_cat(const tuple<_Tp...>& __x, __tuple_indices<_I1...>, tuple<_Up...>&& __y, __tuple_indices<_I2...>)  { @@ -758,7 +787,7 @@  }    template <class... _Tp, class... _Up> -inline +inline _LIBCPP_INLINE_VISIBILITY  tuple<_Tp..., _Up...>  tuple_cat(const tuple<_Tp...>& __x, tuple<_Up...>&& __y)  { @@ -767,7 +796,7 @@  }    template <class... _Tp, size_t ..._I1, class... _Up, size_t ..._I2> -inline +inline _LIBCPP_INLINE_VISIBILITY  tuple<_Tp..., _Up...>  __tuple_cat(tuple<_Tp...>&& __x, __tuple_indices<_I1...>, tuple<_Up...>&& __y, __tuple_indices<_I2...>)  { @@ -775,7 +804,7 @@  }    template <class... _Tp, class... _Up> -inline +inline _LIBCPP_INLINE_VISIBILITY  tuple<_Tp..., _Up...>  tuple_cat(tuple<_Tp...>&& __x, tuple<_Up...>&& __y)  { @@ -784,7 +813,7 @@  }    template <class ..._Tp, class _Alloc> -struct uses_allocator<tuple<_Tp...>, _Alloc> +struct _LIBCPP_VISIBLE uses_allocator<tuple<_Tp...>, _Alloc>  : true_type {};    template <class _T1, class _T2>